package cn.tedu.store.admin.webapi.mapper;


import cn.tedu.store.commons.pojo.admin.entity.Permission;
import cn.tedu.store.commons.pojo.admin.vo.PermissionListItemVO;
import cn.tedu.store.commons.pojo.admin.vo.PermissionStandardVO;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface PermissionMapper {

    /**
     * 添加权限
     *
     * @param permission 权限信息
     * @return 受影响行数
     */
    int insert(Permission permission);

    /**
     * 根据id删除权限
     *
     * @param id id
     * @return 受影响的行数
     */
    int deleteById(Long id);

    /**
     * 修改权限信息
     *
     * @param permission 权限信息
     * @return 受影响的行数
     */
    int updateById(Permission permission);

    /**
     * 根据权限名称查询权限详情
     *
     * @param name 权限名称
     * @return 受影响的行数
     */
    int countByName(String name);

    /**
     * 根据id查询权限信息
     * @param id id
     * @return 受影响的行数
     */
    int countById(Long id);

    /**
     * 根据权限id查询权限详情
     *
     * @param id 权限id
     * @return 受影响的行数
     */
    PermissionStandardVO getStandardById(Long id);

    /**
     * 查询所有权限息
     *
     * @return 所有权限详情
     */
    List<PermissionListItemVO> list();
}
